Pulse width modulation (PWM) signals have an “on” or high portion and an “off” or low portion. The length of the on portion, or “on time,” of a PWM signal is generally based on the duty cycle, number indicating the percentage of a signal period that is on or high. For example, a 25 MHz signal with a 75% duty cycle has a period of 40 ns with 30 ns (i.e., 75% of 40 ns) being “on” and 10 ns being “off,” The duty cycle, and therefore the on time of the signal, may generally be varied (increased or decreased) by an amount equal to the period of the internal dock of the PWM generator. For example, if the PWM generator has an internal dock of 100 MHz and thus a period of 10 ns, the duty cycle may be increased or decreased by increments of 10 ns. These 10 ns increments are referred to herein as lower resolution increments.
In some applications, however, there may be a need to more finely or precisely control a PWM signal so that the on time is increased or decreased with finer granularity than is possible using the available lower resolution increment. Such fine tuning may be accomplished by PWM generators capable of commanding the generator to add a higher resolution increment in the PWM signal, the higher resolution increment being of a higher resolution or granularity than the lower resolution increment. For example, where the lower resolution increment is 10 ns based on the internal clock of the PWM generator, it may be desirable to increase the on time by less than 10 ns (e.g., 1 ns).
The higher resolution increments added to PWM signals are subject to variance due to process, voltage, and temperature. Even at a fixed voltage and temperature, the higher resolution increments have individual variance due to silicon processes. Runtime calibration techniques are employed that provide an average higher resolution increment size, and therefore normalize the higher resolution increment in a given signal. These techniques, however, do not account for increment-to-increment variation or ensure the accuracy of a particular higher resolution increment.
Some applications, for example a Light Detection and Ranging (LiDAR) system, may require increased accuracy when determining the length of the higher resolution increment because a substantial variance may impact the accuracy of the resulting distance measurements. For example, if a 1 ns higher resolution increment is commanded to the laser driver of the LiDAR system, based on process variation, it may actually be 0.8 ns or 1.2 ns. This error may affect the robustness of the processing algorithms in some applications.